const config = {
	// baseUrl: 'https://www.wanandroid.com',
	method: 'GET',
	dataType: 'json',
	showLoading: true,
	loadingText: '请求中...',
	loadingTime: 800,
	originalData: false,
	loadingMask: true,
	header: {
		'content-type': 'application/json;charset=UTF-8',
	}

}

const install = (Vue, vm) => {
	Vue.prototype.$u.http.setConfig({
		baseUrl: 'https://www.wanandroid.com',
		loadingText: '努力加载中~',
		loadingTime: '800',
	});
	Vue.prototype.$u.http.interceptor.request = (config) => {
		// 引用token
		// 方式一，存放在vuex的token，假设使用了uView封装的vuex方式
		// 见：https://uviewui.com/components/globalVariable.html
		// config.header.token = vm.token;

		// 方式二，如果没有使用uView封装的vuex方法，那么需要使用$store.state获取
		// config.header.token = vm.$store.state.token;

		// 方式三，如果token放在了globalData，通过getApp().globalData获取
		// config.header.token = getApp().globalData.username;

		// 方式四，如果token放在了Storage本地存储中，拦截是每次请求都执行的
		// 所以哪怕您重新登录修改了Storage，下一次的请求将会是最新值
		// const token = uni.getStorageSync('token');
		// config.header.token = token;
		const token = uni.getStorageSync('token');
		const cookie = uni.getStorageSync('cookie');
		
		config.header.Token = token;
		config.header['Cookie'] = cookie//设置cookie
		
		if(config.url == '/user/login' || config.url == '/banner/json'|| config.url == '/banner/json' ){
			config.header.noToken = true;
		}
		
		return config;
	}
	
	Vue.prototype.$u.http.interceptor.response = (res) =>{
		if(res.errorCode == 0){
			return res;
		}else if (res.errorCode == -1001){
			vm.$u.toast('验证失败，请重新登录');
			setTimeout(() =>{
				vm.$u.route('/pages/login/login')
			},1500)
			return false;
		}else if (res.errorCode == -1){
			vm.$u.toast(res.errorMsg);
			return false;
		}else{
			return false;
		}
	}
	
}
export default {
	install
}
